home *** CD-ROM | disk | FTP | other *** search
- FontManager for Windows - User's Guide
-
- FontManager automates the task of changing softfont entries in the
- PostScript application sections of WIN.INI. It was primarily written for
- users with more type 1 postscript fonts than can be contained in WIN.INI at
- one time. It will allow you to create pre-built FontPaks or font sets which
- can be quickly swapped into the desired PostScript printer section of Win.ini.
- It alleviates the common kludges of having multiple win.ini files that are
- activated as necessary. You may put more than one FontPak on a printer port,
- add individual fonts and save the contents of a printer port as a FontPak file.
- Thus, in addition to being able to build fontpaks in advance, you can modify
- the installed fonts on a port and save that setup to a FontPak for later use.
- You will still have to live with the Windows limit of approximately 150
- installed soft fonts on a port, however.
- FontManager only manages .PFB and .PFM Postscript type 1 font files.
- It does not recognize nor deal with .AFM type files or other than Type 1
- postscript fonts.
- Any time you modify the installed font set on a postscript port, the
- changes become effective in windows immediately. Unfortunately, most programs
- I've tried such as Page Maker and Word for Windows won't update their font
- resources when they receive the wm_WININICHANGE message from windows. They
- must be closed and re-opened.
-
- WHAT FONTMANAGER DOES TO WIN.INI
-
- Quite simply, it just creates the necessary soft font lines to
- identify installed soft fonts. The lines have the following format:
-
- ;FONTPAKINSTALLED=[pakname]
- SOFTFONTS=XX
- SOFTFONTYY=[drive]:\[path]\[filename].PFM
- (or)
- SOFTFONTYY=[drive]:\[path]\[filename].PFM,[drive]:\[path]\[filename].PFB
-
- The paths for .PFM and .PFB files may be as deep as you like and there is no
- need for any relationship between .PFM and .PFB directories. There is a limit
- of 40 characters for a files path string.
-
- FontManager also creates a dummy application section in WIN.INI with the
- following lines:
-
- [FONTMANAGER]
- FontManager=Installed
-
- This section is used by the WriteProfileString windows API call that forces
- Windows to re-read WIN.INI. Without this section, the API call places
- "[],=" at the end of Win.ini. This doesn't create any problems, but it can
- be confusing for anyone looking at WIN.INI.
-
- INSTALLING FONTMANAGER
-
- There are four basic files you will need to use FontManager:
-
- 1. FONTMGR.EXE This is the main executable file. It may be placed
- anywhere you like, but I would suggest creating a
- directory on the same drive as your windows directory
- named [drive]:\FONT_MGR. If you don't create this
- directory, the initial setup routine will create it
- as this is where all Fontpaks will be stored.
-
- 2. HUGEARR.DLL This is a windows Dynamic Link Library that handles
- huge array processing. It must be placed in the main
- windows directory unless you want to add the
- \FONT_MGR directory to your path and we know you
- dont want to do that. If you don't have it, it is
- available on CIS, MSLANG, Lib 6, "HUGARR.ZIP"
-
- 3. PSETUP.DLL This is a very small DLL library file which also must
- be placed in the Windows main directory. It handles
- all the printer setup routines. It is the work of
- Costas Kitsos, and it is included with this upload.
-
- 4. VBRUN100.DLL This is the main Visual Basic run time Dynamic Link
- Library (DLL) file. It, too, must be located in your
- windows directory. This file is also on CIS, MSLANG,
- Lib 6, as VBRUN.ZIP
-
- Simply place these files in the correct directories, fire up windows
- and run FONTMGR.EXE. The first time you run FontMgr.EXE, only one menu item
- will be active - FILES/INITIAL SETUP. Simply click on the FILES menu and then
- INITIAL SETUP - it's the only one available. You will be asked what drives
- you want searched for font files to catalog, and then sit back and enjoy.
- This process may take a few minutes on machines with huge hard drives and/or
- a very large number of fonts. When testing on a 386/33 with hyperdisk and a
- total of 1823 PFM and 1823 PFB files, it took about 3 minutes to search, build
- indexs, sort, and create the master file.
-
- FONTMANAGER LIMITATIONS
-
- FontManager is capable of managing up to 2048 type 1 postscript fonts.
- As with most PC programs, this limit has its roots in the "Sector" format of
- DOS memory. Handling more than this number of fonts would require foregoing
- some very fast binary string processing, or in short, it would slow things
- down a bunch.
- Further, FontManager is limited to 6 installed PostScript ports in
- WIN.INI. If you have more than six, FontManger will only work with the first
- six it finds.
- FontManager has not been designed for or tested in any network
- environments.
-
- WHAT INITIAL SETUP DOES
-
- First it searches the drives you indicate for all .PFM and .PFB files
- and catalogs them. It then matches up .PFM and .PFB files for the same font.
- Missing .PFB files are no problem and will be normal for users with fonts
- stored on a printer's hard disk. It will list any .PFB files it finds without
- a matching .PFM file, however. Fonts with a .PFM file but no .PFB file are
- forced to a PRINTER RESIDENT status when creating FontPaks and adding these
- fonts to a port regardless of how you set the resident/not resident option at
- that time.
- Initial setup will ceate the directory [windows drive]:\FONT_MGR if it
- does not already exist. It will place the master font library file
- (LIBRARY.FNT) in this directory. This file along with all FontPak files must
- be in this directory for FontManager to find them. Maybe I'll get tricky in a
- later version and allow you to designate your own directory name like the
- shrink wraps, but for now, you'll have to live with a directory named
- FONT_MGR.
- Once you have run the initial setup, all the other menu options will
- be activated, and the INITIAL SETUP menu will be disabled. The only way you
- can run INITIAL SETUP again is to manually delete the LIBRARY.FNT file from
- the \FONT_MGR directory.
-
- To get a printed listing of your Font Library, simply use the PRINT
- MASTER LIBRARY menu under the FILES menu. This listing will be needed if you
- opt to use Font ID numbers for creating fontpaks. It's also a good reference
- of all the Type 1 postscript fonts you have on your system.
-
- LIBRARY.FNT MASTER FILE
-
- This file is created when the initial setup is run. It is a random
- access file with information on all the fonts Initial Setup and subsequent
- Updates find on user selected logical disk drives. If this file is ever
- deleted and re-created using Initial Setup, ALL EXISTING FONTPAK FILES WILL
- BE INVALID AND MUST BE DELETED. I STRONGLY SUGGEST MANUALLY MAKING A BACKUP
- COPY OF THIS FILE AFTER INITIAL INSTALLATION AND ANY TIME IT IS UPDATED WITH
- THE UPDATE PROCEDURE.
-
- UPDATE MASTER FILE
-
- This routine again searches selected drives for all .PFM and .PFB
- files. This time, however, it will simply add any new files to the master
- library file. You may run this routine as often as you like, but it will do
- nothing unless it finds new files. It's designed to be run after you've added
- new fonts to the system, Update can be run for a single logical drive even if
- you have fonts on more than one drive. Thus, if you add fonts to only one
- drive, you don't have to search all drives as with initial setup.
- If a font in the master library no longer has a .PFM file, it will
- mark that font as deleted so that it can't be used in future fontpaks. No
- attempt is made at this time to update existing FontPaks that contain any
- deleted files. This is a doable feature for the next version.
-
- CREATING FONTPAKS
-
- You may create FontPaks in one of two ways. You may either enter the
- desired fonts by their Font ID Number as shown on the printed Master Library
- Catalog, or you can select fonts based on thier full name from a displayed
- selection list.
- When using the Font ID method, I used a technique not normally found
- in window apps. You enter the font ID number in a text box and press enter to
- accept it. Normally in windows apps, pressing enter selects the OK or CONTINUE
- or some such command button while the tab key usually accepts data from a text
- box. As only numbers are used to create FontPaks in this mode and the TAB key
- is on the other side of the keyboard, I used this ENTER method. If you enter
- an incorrect font ID, just select the appropriate displayed line for it and
- press the delete button.
- When selecting fonts based on font names, a more traditional windows
- approach is used. You'll have a list of available fonts on the left, and a list
- of selected fonts on the right. Simply click on the desired font in the
- available list, and it will be transfered to the selected list. FontManager
- will not allow you to select a font more than once. You can remove a selected
- font by clicking on it and pressing the delete button.
- You may also include whole fontpaks when creating a new fontpak. Simply
- press the INCLUDE FONTPAK button, select the desired fontpak and it will be
- inserted. FontManager will not allow duplicating font's in a fontpak, so don't
- worry if an included fontpak includes some fonts that you have already selected
- for inclusion.
-
- MODIFYING FONTPAKS
-
- This procedure uses exactly the same window as creating a font pack
- using font names. It simply starts with the FontPak to modify already loaded
- into the selected list. You may add fonts, delete fonts or include other
- fontpaks just as when creating a new fontpak.
-
- DELETEING FONTPAKS
-
- Another no-brainer. Select DELETE A FONTPAK from the FILES menu, select
- the desired FontPak, press Delete, answer yes to another "Are you sure?" query,
- and it's gone. If you delete a fontpak by mistake, hopefully you have Norton
- Utilities handy.
-
- PRINTING THE MASTER CATALOG AND FONTPAK LISTS
-
- Again, very straight forward. You may print to either a PostScript or
- other type printer. If you're using a PostScript printer, FontManager will
- recognize the selected paper size and print accordingly.
-
- SETUP PRINTER
-
- This feature utilizes the small Psetup.DLL created by Costas Kitsos.
- It simply allows you access to your printer driver setup feature. If you wish
- to actually change selected printers, you will need to do that through Control
- Panel.
-
- LIST INSTALLED FONTPAKS
-
- This routine is in the "WIN.INI" main menu. It simply displays every
- PostScript port you have and the FontPak that is installed on each. If you have
- modified an installed FontPak by adding another fontpak or individual fonts to
- a port, it will say "CUSTOM". If you have no softfonts installed on a port, it
- will say "NONE". If one of the displayed postscript ports is also the active
- printer port, that line will be highlighted.
-
- CHANGE OR SAVE FONTS
-
- This is the actual routine to make changes to installed softfonts with
- FontManger. It is decribed in detail below. If you ever look at WIN.INI in a
- text editor after it has been modified by FontManger, you'll see the line:
- ;FONTPAKINSTALLED=[text] immediately preceeding the SOFTFONTS=XX line. This
- line is used by FontManger to know what pak is installed on that port. It is
- installed as a comment line to preclude it interfering in any way with that
- ports functionality.
-
- MOVING .PFM and .PFB FILES
-
- If you should move any PFM or PFB files, FontManager will update the
- master library file with the new locations the next time UPDATE is run on the
- drive that contains the moved files. No changes are necessary to any FontPaks
- if any font files are moved. Just Make sure to run UPDATE after moving any
- file.
-
- CHANGING A PRINTER PORT'S FONT SETUP
-
- You may perform any combination of 4 actions in this window:
-
- 1. REPLACE A PORT'S FONTPAK: This action will delete all currently installed
- softfonts lines from the selected Port or ports and install the selected font
- pack.
-
- 2. ADD A FONTPAK TO A PORT: This action will add the selected FontPak to any
- currently installed softfonts installed on the selected port. No exisitng
- softfont lines are deleted.
-
- 3. ADD SINGLE FONTS TO A PORT: This action will add selected single fonts to
- any currently existing softfont lines on the selected ports.
-
- 4. SAVE PORT SETUP TO A FONTPAK: This action will save the softfont
- configuration of a selected port to a FontPak file for future use. The FontPak
- file created may be printed and modified just like any other FontPak. The SAVE
- action is only available when only one port is selected. If you have selected
- more than one port, SAVE will not be available.
-
- In steps 1 thru 3, the softfonts=xx line is updated to reflect the
- actual number of softfont lines for that port. Additionally, FontManager makes
- it impossible to have a font listed more than once in a port section. Even if
- you add a fontpak that contains some fonts already in the section, it will not
- make duplicate entries for the same font.
-
- You may perform any combination or all of these actions at one time.
- You may replace the base fontpak, add a second font pak, and add some
- individual fonts. If your actions only affect one port, you may also save the
- final font contents created on that port to a fontpak file. The SAVE action
- may also be used by itself to create a fontpak file from a port's font
- configuration. The only limitation is that you may only ADD one FontPak with
- the Add FontPak action. You may add all the single fonts you want.
-
- REPLACING AND MODIFYING INSTALLED SOFTFONTS
-
- Modifying a port's installed softfonts is done in two steps. First,
- select the printer port(s) you want to change, select a desired action, select
- the appropriate FontPak or individual softfonts to use and click on Post
- Change. Then select the next desired action, FontPak or fonts and click on
- Post Change again. Clicking on Post Change tells the system that you are done
- with this action and ready to do another. When you click on Post Change, the
- selected Action button line will change from blue to red to indicate this
- action will occur when you finally Write Win.Ini. If you find you're working
- on the wrong action line, simply click on the correct action line without
- pressing Post Change. If you're unsure about an action you have already
- comitted (Action button line is red), simply click on that action line again
- and make any necessary changes.
-
- NOTE: At this time, there is no way to completely UNDO an action once it has
- been committed with Post Change. If you have slected an action and Posted it,
- you can change the Port, the FontPak or the individual fonts, but you can't
- stop the basic action from occuring when you Write Win.Ini. The only current
- way to get out of this situation is to Exit the window and restart it from the
- Main Menu. Candidly, I've run out of room on the window for another command
- button to UNDO and I'll need to modify the window to handle this.
-
- SELECTED PORTS TO MODIFY
-
- This selection determines which PostScript printer ports will be
- modified. When Win.Ini is finally written, all actions will occur for the
- Port(s) selected at that time. Thus, you can change the desired ports between
- different change actions if the original selections were incorrect. If you have
- selected multiple ports, the same changes will be carried out on all the
- selected ports.
-
- SELECTING INDIVIDUAL FONTS TO ADD TO PORT
-
- The sub-dialog box for this action is very similar to the Create a
- FontPak window. Simply enter the Font ID number for the desired font(s) in the
- Add Font# text box and press ENTER after each one. Alternatively, you can press
- the SHOW FONTS button which will display a list of all fonts in the master
- library. When this list is displayed, double clicking on an available font will
- place it in the selected list. The list of availbale fonts can be erased by
- either pressing SHOW FONTS again, or exiting the Add Individual Fonts action.
- If you add an incorrect font ID, simply select the bad font in the list and
- press Delete Font. The printer resident box is straight forward. When selected,
- it indicates fonts are printer resident. When not selected, it indicates fonts
- are NOT printer resident. It can be changed for each font added. When the Add
- SINGLE Fonts to a Port action button is inactive, the entire Select Individual
- Fonts sub-dialog is disabled.
-
- POST CHANGE
-
- This command button acts to validate an action. If you're missing
- something required for the particular change to occur, you will be prompted
- for the missing information. If you do not press Post Change before going to
- another Action, the action just left WILL NOT be carried out when Write Win.Ini
- is selected. Post Change also turns the selected Action line red to indicate
- that this action will occur when you do Write Win.Ini.
-
- WRITE WIN.INI
-
- This is the big one that will actually cause all selected actions and
- changes to be made to Win.ini. If you select Write Win.Ini by mistake, there is
- still a dialog box which summarizes all your changes where you'll be able to
- abort. Even if you don't abort here and discover a problem, Win.Ini is saved
- to a file named WIN.WFM in your windows directory which may be manually copied
- back to WIN.INI to restore the previous setup. In the next revision, the option
- to do this automatically will be added.
- Write Win.Ini also forces Windows to re-read Win.Ini and update the
- system resources. Thus, all changes you make with FontManager are immediately
- available to all Windows apps. This is accomplished by sending the
- wm_WININICHANGE message. If a running app does not respond to this message by
- updateing it's font resources, you'll have to close and re-open that app for
- the new fonts to be available in it. Unfortuneatly, PageMaker and Word for
- Windows are two big ones that don't update their font resources even when
- notified by windows of a change in resources.
-
- SUMMARY MESSAGE BOX
-
- After selecting Write Win.Ini to make your changes, you'll get a dialog
- box that summarizes what changes will be made. It will also give you the option
- of aborting these changes and return to the Change Window.
-
- IF YOU'RE NOT SURE
-
- If you make some complex changes to a port and aren't sure about their
- accuracy, simply start over and do it again.
-
- ADDING MULTIPLE FONTPAKS TO A PORT
-
- You may ADD multiple font packs to a port by doing it one at a time.
- Select ADD a FontPak to a Port, select the port and FontPak, press Post Change,
- Write Win.ini and repeat these steps until all the desired FontPaks have been
- added to the port. Just remember that Win.Ini has a practical limit of
- somewhere around 150 fonts.
-
- ORDER ACTIONS ARE CARRIED OUT
-
- Actions are carried out in the same order the Action Button Lines are
- displayed in the window. Save Port to a FontPak is the last action. This allows
- you to make any combination or all of the first three Actions and save the
- result of those Actions to a new FontPak in one pass. Remember, the SAVE action
- is only available if you're acting on only a single port. If you select more
- than one port, the SAVE action is disabled.
-
- AVAILABLE FONTPAKS
-
- The Available FontPak list displays FontPaks with their ".FP" file
- extensions which FontManager adds to the names of all FontPak files. Whenever
- you are asked for a FontPak name, you DO NOT need to enter this extension.
- Doing so, however, won't hurt a thing.
-
- GENERAL - SCREEN DESIGNS vs SCREEN RESOLUTION
-
- The windows in FontManger were written to look the best on high
- resolution video systems, 1024x768 in particular. They display just fine in
- std VGA mode, but do look a little "Horsey" to steal a Kathleen Tinkel phrase.
- I just felt most people with enough fonts to need this program would have
- better than VGA resolution video systems.
-
- FONT ID NUMBERS
-
- During Initial Setup and Update, FontManager assigns Font ID Numbers
- to each font it adds to the Master Font Library. These Font ID Numbers are used
- when creating new fontpaks and when adding individual fonts to a printer port.
- When FontManager is initally setup, these Font ID numbers are in the same order
- as the alphabetical order of the full font names. As the UPDATE routine adds
- newly installed fonts, they are added to the end of the master file and their
- Font ID numbers have no relationship to any alphabetical order. Thus, if the
- 1789th font added to the library is named AARDVARK, it will have the Font ID
- number 1789 and not 1. Just don't be surprised when you print a Master Font
- Library Catalog which is ordered alphabetically by full font name and the Font
- ID numbers are not in order.
-
- VIEW/EDIT WIN.INI
-
- Selecting this option under the FILES menu will display the current
- WIN.INI file in a text box. You may move through this text box with the scroll
- bars, up/down arrows or page up/page down keys. You may also edit WIN.INI in
- this text box. All the standard Windows text box editing tools are available.
- Save the edited version by selecting SAVE from the FILE menu. If you save an
- edited version of WIN.INI, Windows will re-read it immediately.
-
- WHO'S RESPONSIBLE?
-
- The guy below did it, and he'd sure appreciate any comments about problems or
- ways to improve this program. If you need to get ahold of me, I can be reached
- at:
-
- Dennis Harrington
- 7300 Evergreen Way
- Everett, Wa. 98203
- (206) 355-6690
- CIS id: 76216,3472
-
- THERE IS NO REGISTRATION FEE OR ANY OTHER FEES NEEDED TO USE FontManager. It is
- totally public domain freeware. Please feel free to share it with anyone you
- want if you find it helpful. Consider it my token of appreciation for all the
- help I've received from the members of the DTP forum on CIS. The author sure
- wouldn't turn down any C notes, though.
-
- THE CURRENT WINDOWS VERSION OF FONTMANAGER IS A BETA VERSION. IF IT CAUSES ANY
- PROBLEMS OF ANY KIND, PLEASE LET ME KNOW, BUT PLEASE DON'T EXPECT ANY KIND OF
- FINANCIAL ASSISTANCE. CONSIDER THIS THE OLD "I AIN'T RESPONSIBLE FOR NOTHIN"
- DISCLAIMER.